codenano 0.4.12

A library for editing DNA molecular designs
Documentation

This crate (codenano) allows one to design DNA molecules.

The following creates a strand zig-zagging between three helices, and outputs it to a file:

use codenano::*;
let mut design: Design<(), ()> = Design::new();
for i in 0..3 {
design.add_grid_helix(i, 0);
}
// Let's first design a strand.
design.strand(0, 0).to(31)
.cross(1).to(10)
.cross(2).to(21);
// Now its reverse complement:
design.strand(2, 21).to(10)
.cross(1).to(31)
.cross(0).to(0);
design.write_to("my_design.json").unwrap()

This library is compatible with the codenano-server crate, which watches changes made to a file and shows the result in 3D in a web browser. Additionally, the client part (also called codenano) of the the codenano-servercrate can run finite element simulations and display the secondary structure.